.bazi-chart {
  padding: 20px;
  min-height: 100vh;
  background-color: #f8f4e8;

  .container {
    max-width: 600px;
    margin: 0 auto;
  }

  .header {
    text-align: center;
    margin-bottom: 30px;

    .title {
      font-size: 24px;
      color: #5a3921;
      margin-bottom: 8px;
    }

    .subtitle {
      font-size: 16px;
      color: #8c7b6b;
    }
  }

  .input-form {
    background-color: #fff;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);

    .form-item {
      margin-bottom: 16px;

      .label {
        display: block;
        font-size: 14px;
        color: #5a3921;
        margin-bottom: 8px;
      }

      .input {
        width: 100%;
        padding: 12px;
        border: 1px solid #e0d6c8;
        border-radius: 8px;
        font-size: 16px;
        background-color: #fff;
      }
    }

    .calculate-button {
      display: block;
      width: 100%;
      padding: 12px;
      background-color: #5a3921;
      color: white;
      border: none;
      border-radius: 8px;
      font-size: 16px;
      margin-top: 16px;
    }
  }

  .chart-result {
    .bazi-pillars {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
      margin-bottom: 20px;

      .pillar {
        background-color: #fff;
        border-radius: 12px;
        padding: 12px;
        text-align: center;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);

        .pillar-title {
          font-size: 14px;
          color: #8c7b6b;
          margin-bottom: 8px;
        }

        .pillar-content {
          font-size: 24px;
          margin-bottom: 8px;

          .stem {
            color: #5a3921;
            margin-right: 4px;
          }

          .branch {
            color: #5a3921;
          }
        }

        .element {
          font-size: 12px;
          color: #8c7b6b;
        }
      }
    }

    .element-analysis {
      background-color: #fff;
      border-radius: 12px;
      padding: 20px;
      margin-bottom: 20px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);

      .section-title {
        font-size: 18px;
        color: #5a3921;
        margin-bottom: 16px;
        padding-bottom: 8px;
        border-bottom: 1px solid #e0d6c8;
      }

      .element-bars {
        .element-bar-container {
          display: flex;
          align-items: center;
          margin-bottom: 12px;

          .element-name {
            width: 24px;
            font-size: 14px;
            color: #5a3921;
          }

          .element-bar-wrapper {
            flex: 1;
            height: 16px;
            background-color: #f0e6d6;
            border-radius: 8px;
            margin: 0 8px;
            overflow: hidden;

            .element-bar {
              height: 100%;
              border-radius: 8px;
              transition: width 0.5s ease;
            }
          }

          .element-count {
            width: 24px;
            text-align: right;
            font-size: 14px;
            color: #5a3921;
          }
        }
      }
    }

    .life-analysis {
      background-color: #fff;
      border-radius: 12px;
      padding: 20px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);

      .section-title {
        font-size: 18px;
        color: #5a3921;
        margin-bottom: 16px;
        padding-bottom: 8px;
        border-bottom: 1px solid #e0d6c8;
      }

      .analysis-card {
        margin-bottom: 16px;

        .analysis-title {
          font-size: 16px;
          color: #5a3921;
          margin-bottom: 8px;
        }

        .analysis-content {
          font-size: 14px;
          color: #8c7b6b;
          line-height: 1.6;
        }
      }
    }
  }
}